package com.ynet.middleground.contract.bean;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import com.ynet.core.common.BaseReqObj;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author liulx
 * @description 修改模板参数请求类
 * @date 2020-03-23 01:31
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "修改模板参数请求类", description = "可修改指定模板参数信息")
public class UpdateTemplateParamReq extends BaseReqObj {

    private static final long serialVersionUID = -5884332446512951885L;

    @ApiModelProperty(value = "业态公司 id \n（仅综合管理平台使用）", notes = "业态公司 id \n（仅综合管理平台使用）", dataType = "Integer")
    private Integer formatId;

    @ApiModelProperty(value = "模板参数 id", notes = "模板参数 id", required = true)
    @NotNull(message = "模板参数 id 不能为空")
    private Integer id;

    /**
     * 参数类型 0：普通文本，1：图片，2：表格，3：合约编号二维码，4：合约编号 默认 0
     */
    @ApiModelProperty(value = "参数类型 0：普通文本，1：图片，2：表格，3：合约编号二维码，4：合约编号 默认 0",
        notes = "参数类型 0：普通文本，1：图片，2：表格，3：合约编号二维码，4：合约编号 默认 0", dataType = "String", required = true)
    @NotBlank(message = "参数类型不能为空")
    private String type;

    /**
     * 参数名
     */
    @ApiModelProperty(value = "参数名", notes = "参数名", dataType = "String", required = true)
    @NotBlank(message = "参数名不能为空")
    private String paramName;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述", notes = "描述", dataType = "String")
    private String description;

    /**
     * 图片宽度
     */
    @ApiModelProperty(value = "图片宽度", notes = "图片宽度", dataType = "Integer")
    private Integer width;

    /**
     * 图片高度
     */
    @ApiModelProperty(value = "图片高度", notes = "图片高度", dataType = "Integer")
    private Integer height;

    /**
     * 是否删除 true: 删除，false: 未删除
     */
    @ApiModelProperty(value = "是否删除 true: 删除，false: 未删除", notes = "是否删除 true: 删除，false: 未删除", dataType = "boolean",
        hidden = true)
    private Boolean isDeleted;

    /**
     * 是否必填 true: 必填，false: 非必填
     */
    @ApiModelProperty(value = "是否必填 true: 必填，false: 非必填", notes = "是否必填 true: 必填，false: 非必填", dataType = "boolean")
    private Boolean isRequired;

}
